quantum computing and cryptography